package com.sws.capture.service;

import com.sws.attendance.domain.StuAttendance;
import com.sws.capture.domain.CapRecord;
import com.sws.capture.domain.CaptureDto;

import java.util.List;


public interface CapRecordService {

    public boolean faceCapture(CaptureDto captureDto);

    /**
     * 查询人脸抓拍记录
     *
     * @param id 人脸抓拍记录主键
     * @return 人脸抓拍记录
     */
    public CapRecord selectCapRecordById(Integer id);

    /**
     * 查询人脸抓拍记录列表
     *
     * @param capRecord 人脸抓拍记录
     * @return 人脸抓拍记录集合
     */
    public List<CapRecord> selectCapRecordList(CapRecord capRecord);

    /**
     * 新增人脸抓拍记录
     *
     * @param capRecord 人脸抓拍记录
     * @return 结果
     */
    public int insertCapRecord(CapRecord capRecord);

    /**
     * 修改人脸抓拍记录
     *
     * @param capRecord 人脸抓拍记录
     * @return 结果
     */
    public int updateCapRecord(CapRecord capRecord);

    /**
     * 批量删除人脸抓拍记录
     *
     * @param ids 需要删除的人脸抓拍记录主键集合
     * @return 结果
     */
    public int deleteCapRecordByIds(Integer[] ids);

    /**
     * 删除人脸抓拍记录信息
     *
     * @param id 人脸抓拍记录主键
     * @return 结果
     */
    public int deleteCapRecordById(Integer id);

    /**
     * 通过存入的设备序列号，联查对应的设备和设备地址，并插入人脸抓拍记录表
     *
     * @param stuAttendance
     * @return
     */
    StuAttendance faceCaptureDevice(StuAttendance stuAttendance);


    /**
     * 处理人脸信息，转变成学生考勤记录
     *
     * @param captureDto
     * @param stuAttendance
     * @return
     */
    StuAttendance stuAttendanceMsgprocess(CaptureDto captureDto, StuAttendance stuAttendance);

    /**
     * 判断学生考勤记录是否存在
     *
     * @param sa
     * @return
     */
    Boolean ifSaExist(StuAttendance sa);
}
